package com.qzsoft.zhjd.materiel.modules.materieldatarecive.mapper;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.qzsoft.zhjd.materiel.modules.materieldatarecive.dto.MaterielReceiveForCategoryDto;
import com.qzsoft.zhjd.materiel.modules.materieldatarecive.dto.MaterielReceiveForItemDto;

/**
 * @ClassName MaterielDataReceiveMapper
 * @Description 收料数据库接口
 * @author linhuawei
 * @since 2022-04-21
 */
@Mapper
public interface MaterielDataReceiveMapper {

    /**
     * @Title countForCategory
     * @Description 按照分类统计收料情况
     * @param page   分页条件
     * @param params 查询条件
     * @return 按照分类统计收料情况
     */
    public IPage<MaterielReceiveForCategoryDto> countForCategory(IPage<MaterielReceiveForCategoryDto> page,
            @Param("params") Map<String, Object> params);

    /**
     * @Title countForCategory
     * @Description 按照分类统计收料情况
     * @param params 查询条件
     * @return 按照分类统计收料情况
     */
    public List<MaterielReceiveForCategoryDto> countForCategory(@Param("params") Map<String, Object> params);

    /**
     * @Title countForItem
     * @Description 按照明细统计收料情况
     * @param page   分页条件
     * @param params 查询条件
     * @return 按照明细统计收料情况
     */
    public IPage<MaterielReceiveForItemDto> countForItem(IPage<MaterielReceiveForItemDto> page,
            @Param("params") Map<String, Object> params);

    /**
     * @Title countForItem
     * @Description 按照明细统计收料情况
     * @param page   分页条件
     * @param params 查询条件
     * @return 按照明细统计收料情况
     */
    public List<MaterielReceiveForItemDto> countForItem(@Param("params") Map<String, Object> params);

}
